package csl.blog.common.base;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

/**
 * @Description: TODO
 * @author: 隔山海
 * @date: 2021年07月17日 13:26
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BaseEntity implements Serializable {

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private BigInteger id;

    /**
     * 乐观锁
     */
    @TableField(value = "version")
    private Integer version;

    /**
     * 是否删除标识：0否1是
     */
    @TableField(value = "deleted_ind")
    private Integer deletedInd;

    /**
     * 创建时间
     */
    @TableField(value = "created_time")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN,timezone = "GMT+8")
    private Date createdTime;

    /**
     * 创建人
     */
    @TableField(value = "created_by")
    private String createdBy;

    /**
     * 修改时间
     */
    @TableField(value = "updated_time")
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN,timezone = "GMT+8")
    private Date updatedTime;

    /**
     * 修改人
     */
    @TableField(value = "updated_by")
    private String updatedBy;

}
